home *** CD-ROM | disk | FTP | other *** search
/ Visual Cafe 3 / Visual Cafe 3.ISO / Vcafe / Sample.bin / TableExample2.java < prev    next >
Text File  |  1998-09-28  |  6KB  |  185 lines

  1. /*
  2.         A GUI version of  TableExample2 example from Sun.
  3.         
  4.         Another example of the JTable hooked to a JDBC Query 
  5.         that is a bit more flexable, and allows sorting.
  6. */
  7.  
  8. import com.sun.java.swing.*;
  9. import java.awt.*;
  10.  
  11. public class TableExample2 extends com.sun.java.swing.JFrame
  12. {
  13.     public TableExample2()
  14.     {
  15.         // This code is automatically generated by Visual Cafe when you add
  16.         // components to the visual environment. It instantiates and initializes
  17.         // the components. To modify the code, only use code syntax that matches
  18.         // what Visual Cafe can generate, or Visual Cafe may be unable to back
  19.         // parse your Java file into its visual environment.
  20.         //{{INIT_CONTROLS
  21.         setTitle("Table Example 2");
  22.         getContentPane().setLayout(new BorderLayout(0,0));
  23.         getContentPane().setFont(new Font("Dialog", Font.PLAIN, 0));
  24.         setSize(405,305);
  25.         setVisible(false);
  26.         simpleJdbcTableModel1.setJdbcDriverClass("sun.jdbc.odbc.JdbcOdbcDriver");
  27.         simpleJdbcTableModel1.setQuery("select * from COFFEES");
  28.         simpleJdbcTableModel1.setPassword("sql");
  29.         simpleJdbcTableModel1.setJdbcDriverURL("jdbc:odbc:CafeJava");
  30.         simpleJdbcTableModel1.setUser("dba");
  31.         //$$ simpleJdbcTableModel1.move(0,0);
  32.         simpleSortTableModel1.setModel(simpleJdbcTableModel1);
  33.         //$$ simpleSortTableModel1.move(0,0);
  34.         JScrollPane1.setOpaque(true);
  35.         getContentPane().add("Center", JScrollPane1);
  36.         JScrollPane1.setBounds(0,0,405,305);
  37.         JTable1.setModel(simpleSortTableModel1);
  38.         JScrollPane1.getViewport().add(JTable1);
  39.         JTable1.setBounds(0,0,402,302);
  40.         JPanel1.setLayout(new BorderLayout(0,0));
  41.         getContentPane().add("North", JPanel1);
  42.         JPanel1.setBounds(0,0,405,108);
  43.         JScrollPane2.setVerticalScrollBarPolicy(com.sun.java.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
  44.         JScrollPane2.setOpaque(true);
  45.         JPanel1.add("Center", JScrollPane2);
  46.         JScrollPane2.setBounds(0,0,294,108);
  47.         query.setRows(6);
  48.         JScrollPane2.getViewport().add(query);
  49.         query.setBounds(0,0,276,105);
  50.         JPanel2.setAlignmentX(0.495495F);
  51.         JPanel2.setLayout(new BoxLayout(JPanel2,BoxLayout.Y_AXIS));
  52.         JPanel1.add("East", JPanel2);
  53.         JPanel2.setBounds(294,0,111,108);
  54.         configuration.setText("Configuration");
  55.         configuration.setActionCommand("Configuration");
  56.         configuration.setAlignmentY(0.5F);
  57.         configuration.setAlignmentX(0.5F);
  58.         JPanel2.add(configuration);
  59.         configuration.setBounds(0,0,111,25);
  60.         fetch.setText("Fetch");
  61.         fetch.setActionCommand("Fetch");
  62.         fetch.setAlignmentY(0.5F);
  63.         fetch.setAlignmentX(0.5F);
  64.         JPanel2.add(fetch);
  65.         fetch.setBounds(23,25,65,25);
  66.         //}}
  67.         
  68.         simpleSortTableModel1.addMouseListenerToHeaderInTable(JTable1);
  69.         query.setText(simpleJdbcTableModel1.getQuery());
  70.         
  71.         //{{INIT_MENUS
  72.         //}}
  73.     
  74.         //{{REGISTER_LISTENERS
  75.         SymWindow aSymWindow = new SymWindow();
  76.         this.addWindowListener(aSymWindow);
  77.         SymAction lSymAction = new SymAction();
  78.         fetch.addActionListener(lSymAction);
  79.         configuration.addActionListener(lSymAction);
  80.         //}}
  81.     }
  82.  
  83.     static public void main(String args[])
  84.     {
  85.         TableExample2 te = new TableExample2();
  86.         SimpleJdbcTableModel simpleJdbcTableModel = te.simpleJdbcTableModel1;
  87.         te.setLocation(50,50);
  88.         if(args.length != 5)
  89.         {
  90.             System.err.println("Pass database parameters eg. ...");
  91.             System.err.println("java TableExample1 \"jdbc:odbc:CafeJava\" \"sun.jdbc.odbc.JdbcOdbcDriver\" \"username\" \"password\" \"select * from COFFEES\"");
  92.             System.err.println("Bringing up configuration dialog");
  93.             te.configDialog();
  94.         }
  95.         else
  96.         {
  97.             simpleJdbcTableModel.setJdbcDriverURL(args[0]);
  98.             simpleJdbcTableModel.setJdbcDriverClass(args[1]);
  99.             simpleJdbcTableModel.setUser(args[2]);
  100.             simpleJdbcTableModel.setPassword(args[3]);
  101.             simpleJdbcTableModel.setQuery(args[4]);
  102.             te.query.setText(simpleJdbcTableModel.getQuery());
  103.         }
  104.         simpleJdbcTableModel.doQuery();
  105.         te.setVisible(true);
  106.     }
  107.  
  108.     //{{DECLARE_CONTROLS
  109.     SimpleJdbcTableModel simpleJdbcTableModel1 = new SimpleJdbcTableModel();
  110.     SimpleSortTableModel simpleSortTableModel1 = new SimpleSortTableModel();
  111.     com.sun.java.swing.JScrollPane JScrollPane1 = new com.sun.java.swing.JScrollPane();
  112.     com.sun.java.swing.JTable JTable1 = new com.sun.java.swing.JTable();
  113.     com.sun.java.swing.JPanel JPanel1 = new com.sun.java.swing.JPanel();
  114.     com.sun.java.swing.JScrollPane JScrollPane2 = new com.sun.java.swing.JScrollPane();
  115.     com.sun.java.swing.JTextArea query = new com.sun.java.swing.JTextArea();
  116.     com.sun.java.swing.JPanel JPanel2 = new com.sun.java.swing.JPanel();
  117.     com.sun.java.swing.JButton configuration = new com.sun.java.swing.JButton();
  118.     com.sun.java.swing.JButton fetch = new com.sun.java.swing.JButton();
  119.     //}}
  120.  
  121.     //{{DECLARE_MENUS
  122.     //}}
  123.  
  124.     class SymWindow extends java.awt.event.WindowAdapter
  125.     {
  126.         public void windowClosing(java.awt.event.WindowEvent event)
  127.         {
  128.             Object object = event.getSource();
  129.             if (object == TableExample2.this)
  130.                 TableExample2_windowClosing(event);
  131.         }
  132.     }
  133.  
  134.     void TableExample2_windowClosing(java.awt.event.WindowEvent event)
  135.     {
  136.         System.exit(0);
  137.     }
  138.  
  139.     class SymAction implements java.awt.event.ActionListener
  140.     {
  141.         public void actionPerformed(java.awt.event.ActionEvent event)
  142.         {
  143.             Object object = event.getSource();
  144.             if (object == fetch)
  145.                 fetch_actionPerformed(event);
  146.             else if (object == configuration)
  147.                 configuration_actionPerformed(event);
  148.         }
  149.     }
  150.  
  151.     void fetch_actionPerformed(java.awt.event.ActionEvent event)
  152.     {
  153.         simpleJdbcTableModel1.setQuery(query.getText());
  154.         simpleJdbcTableModel1.doQuery();
  155.     }
  156.  
  157.     void configuration_actionPerformed(java.awt.event.ActionEvent event)
  158.     {
  159.         configDialog();
  160.     }
  161.     
  162.     void configDialog()
  163.     {
  164.         JdbcConfigurationDialog cfg = new JdbcConfigurationDialog(this, true);
  165.         cfg.setUser(simpleJdbcTableModel1.getUser());
  166.         cfg.setPassword(simpleJdbcTableModel1.getPassword());
  167.         cfg.setURL(simpleJdbcTableModel1.getJdbcDriverURL());
  168.         cfg.setDriver(simpleJdbcTableModel1.getJdbcDriverClass());
  169.         cfg.setQuery(simpleJdbcTableModel1.getQuery());
  170.         cfg.setVisible(true);
  171.         
  172.         if (cfg.wasCanceled())
  173.         {
  174.             return;
  175.         }
  176.         
  177.         simpleJdbcTableModel1.setUser(cfg.getUser());
  178.         simpleJdbcTableModel1.setPassword(cfg.getPassword());
  179.         simpleJdbcTableModel1.setJdbcDriverURL(cfg.getURL());
  180.         simpleJdbcTableModel1.setJdbcDriverClass(cfg.getDriver());
  181.         simpleJdbcTableModel1.setQuery(cfg.getQuery());
  182.         query.setText(simpleJdbcTableModel1.getQuery());
  183.         simpleJdbcTableModel1.doQuery();
  184.     }
  185. }